package cn.edu.sgu.www.mhxysy.service.equipment;

import cn.edu.sgu.www.mhxysy.pager.Pager;
import cn.edu.sgu.www.mhxysy.dto.equipment.EquipmentViewAttributeDTO;
import cn.edu.sgu.www.mhxysy.entity.equipment.EquipmentViewAttribute;
import cn.edu.sgu.www.mhxysy.entity.except.Property;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;
import java.util.Map;

/**
 * @author 沐雨橙风ιε
 * @version 1.0
 */
public interface EquipmentViewAttributeService {

	/**
	 * 添加装备预览属性
	 * @param equipmentViewAttributeDTO 装备预览属性
	 */
	void insert(EquipmentViewAttributeDTO equipmentViewAttributeDTO);

	/**
	 * 通过ID修改装备预览属性
	 * @param equipmentViewAttributeDTO 装备预览属性
	 */
	void updateById(EquipmentViewAttributeDTO equipmentViewAttributeDTO);

	/**
	 * 查询装备的可选属性
	 * @param type 装备类型
	 * @return List<Property>
	 */
	List<Property> selectProperty(Integer type);

	/**
	 * 查询装备的预览属性
	 * @param equipmentId 装备ID
	 * @return List<Map<String, Object>>
	 */
	List<Map<String, Object>> selectAttributes(Integer equipmentId);

	/**
	 * 分页查询装备预览属性列表
	 * @param pager 分页参数
	 * @return Page<EquipmentViewAttribute>
	 */
	Page<EquipmentViewAttribute> selectByPage(Pager<EquipmentViewAttribute> pager);
}